package com.automation.ljf.repository;


import java.util.List;

import com.automation.ljf.domain.dataobject.CaseDO;
import com.automation.ljf.domain.dataobject.CaseReportDO;
import com.automation.ljf.domain.dataobject.CaseStepDO;
import com.automation.ljf.domain.dataobject.CaseStepReportDO;
import com.automation.ljf.domain.vo.CaseVO;
import com.automation.ljf.util.ResultMessage;

/**
 * 测试用例相关数据仓库
 *
 * @author lijiefeng
 * @since 2021/8/25
 */
public interface TestCaseRepository {

    /**
     *  mf_case_step
     */

    ResultMessage selectCaseStepByCId(String caseId);

    Integer insertCaseStep(CaseStepDO caseStepDO);

    Integer selectStepIsInputByCaseId(String caseId);

    Integer deleteStepByCaseId(String caseId, List<CaseStepDO> caseStepDOS);

    /**
     *  mf_case
     */
    CaseVO selectCaseByCaseId(String caseId);

    Integer insertCase(CaseDO caseDO);

    ResultMessage selectCaseByPage(String admUserId, Integer page, Integer limit);

    Integer updateCaseByCaseId(CaseDO caseDO);

    Integer deleteCaseByCaseId(List<CaseDO> caseDOS);

    /**
     *  mf_case_report
     */
    Integer insertCaseReport(CaseReportDO caseReportDO, String reportId);

    ResultMessage selectCaseReportByUId(String admUserId);

    /**
     *  mf_step_report
     */
    Integer insertCaseStepReport(List<CaseStepReportDO> caseStepReportDOS, String reportId);

    ResultMessage selectStepReportByCaseReportId(String reportId);

}
